文章目录
  1. 1. maven版本管理
  2. 2. 仓库
    1. 2.1. 仓库的分类
      1. 2.1.1. 本地仓库
      2. 2.1.2. 中央仓库
      3. 2.1.3. 镜像仓库
      4. 2.1.4. 私有仓库
        1. 2.1.4.1. nexus的安装
        2. 2.1.4.2. 仓库讲解
        3. 2.1.4.3. 私有仓库的设置
      5. 2.1.5. 项目发布
      6. 2.1.6. 创建项目工厂和设置权限

maven版本管理

总版本号.分支版本号.小版本号-里程碑版本

总版本号的变动一般表示框架的变动

分支版本号:一般表示增加了一些功能

小版本号:在分支版本上面进行bug的修复

里程碑:SNAPSHOT—>alpha—>beta—>release—>GA

user0.0.1-SNAPSHOT-->user0.0.1-Release--->user1.0.0SHAPSHOT  -->user1.0.0-Rlease
                                       -->user0.1.0-SNAPSHOT-->user0.1.0-Rlease

仓库

没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理。Maven 使用一个称之为仓库的目录,根据构件的坐标统一存储这些构件的唯一副本,在项目中通过依赖声明,可以方便的引用构件。

仓库的分类

Maven 仓库分为本地仓库和远程仓库,寻找构件时,首先从本地仓库找,找不到则到远程仓库找,再找不到就报错;在远程仓库中找到了,就下载到本地仓库再使用。中央仓库是 Maven 核心自带的远程仓库,默认地址:http://repo1.maven.org/maven2。
除了中央仓库,还有其它很多公共的远程仓库。私服(私有仓库)是架设在本机或局域网中的一种特殊的远程仓库,通过私服可以方便的管理其它所有的外部远程仓库。

本地仓库

Maven 本地仓库默认地址为:${user.home}/.m2/repository。

 通过修改 %MAVEN_HOME%/conf/settings.xml (或者:${user.home}/.m2/settings.xml,针对当前用户(推荐))配置文件可以更改本地仓库的位置。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>F:/JAVA/maven/repos</localRepository>//更改本地仓库

中央仓库

安装完 Maven ,本地仓库几乎是空的,这时需要从远程仓库下载所需构件。Maven 配置了一个默认的远程仓库,即中央仓库,找到 %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,打开 org/apache/maven/model/pom-4.0.0.xml 超级POM:

<repositories>
<repository>
  <id>central</id>
  <name>Central Repository</name>
  <url>https://repo.maven.apache.org/maven2</url>
  <layout>default</layout>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
</repository>
</repositories>

当中央仓库找不到所需的构件时,我们可以配置 pom.xml ,添加其它的远程仓库。

<repositories>
<repository>
    <id>Sonatype</id>
    <name>Sonatype Repository</name>
    <url>http://repository.sonatype.org/content/groups/public/</url>
    <layout>default</layout>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>
</repositories>

其中 id 必须唯一,若不唯一,如设置为 central 将覆盖中央仓库的配置。

镜像仓库

镜像仓库可以理解为仓库的副本,从仓库中可以找到的构件,从镜像仓库中也可以找到。比如针对中央仓库 http://repo1.maven.org/maven2 ,在中国有它的镜像仓库,这样我们直接访问镜像仓库,更快更稳定。

<settings>
...
<mirrors>
    <mirror>
        <id>maven.net.cn</id>
        <name>central mirror in china</name>
        <url>http://maven.net.cn/content/groups/public</url>
        <mirrorOf>central</mirrorOf>    <!--表明为central中央仓库配置镜像仓库-->
    </mirror>
</mirrors>
...
</settings>

其中, 指明了为哪个仓库配置镜像,可以使用通配符如:*,或者 repo1,repo2 等进行匹配。一旦配置了镜像,所有针对原仓库的访问将转到镜像仓库的访问,原仓库将不再能直接访问,即使镜像仓库不稳定或停用。在搭建私服的时候,我们通常为所有仓库设置镜像为私服地址,通过私服对所有仓库进行统一管理。

私有仓库

nexus的安装
  1. 下载并且解压缩
  2. 将bin添加到环境变量
  3. nexus install将nexus安装到windows的服务中
  4. 修改

  5. nexus start启动服务

仓库讲解
  1. host的仓库。内部项目的发布仓库
  2. proxy的仓库。从远程中央仓库中寻找数据的仓库
私有仓库的设置

1.更新私有仓库的索引

或者直接下载索引,将其拷贝到中央仓库的索引存储中

2.设置镜像(设置setting.xml)

3.在settings.xml配置仓库,此时本机中的所有maven项目都会去私有仓库中查询依赖

项目发布

1、设定release工厂和snapshots工厂

2、设置访问的权限

创建项目工厂和设置权限

1、创建两个工厂:release和policy的

2、配置权限



3、创建角色并且分配权限

4、创建用户

5、创建发布的工厂

文章目录
  1. 1. maven版本管理
  2. 2. 仓库
    1. 2.1. 仓库的分类
      1. 2.1.1. 本地仓库
      2. 2.1.2. 中央仓库
      3. 2.1.3. 镜像仓库
      4. 2.1.4. 私有仓库
        1. 2.1.4.1. nexus的安装
        2. 2.1.4.2. 仓库讲解
        3. 2.1.4.3. 私有仓库的设置
      5. 2.1.5. 项目发布
      6. 2.1.6. 创建项目工厂和设置权限